package com.iot.system.service.impl;

import java.util.Date;
import java.util.List;
import com.iot.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.iot.system.mapper.DeviceParameterRecordMapper;
import com.iot.system.domain.DeviceParameterRecord;
import com.iot.system.service.IDeviceParameterRecordService;

/**
 * 【请填写功能名称】Service业务层处理
 * 
 * @author iot
 * @date 2024-12-26
 */
@Service
public class DeviceParameterRecordServiceImpl implements IDeviceParameterRecordService 
{
    @Autowired
    private DeviceParameterRecordMapper deviceParameterRecordMapper;

    /**
     * 查询【请填写功能名称】
     * 
     * @param id 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    @Override
    public DeviceParameterRecord selectDeviceParameterRecordById(Long id)
    {
        return deviceParameterRecordMapper.selectDeviceParameterRecordById(id);
    }

    /**
     * 查询【请填写功能名称】列表
     * 
     * @param deviceParameterRecord 【请填写功能名称】
     * @return 【请填写功能名称】
     */
    @Override
    public List<DeviceParameterRecord> selectDeviceParameterRecordList(DeviceParameterRecord deviceParameterRecord)
    {
        return deviceParameterRecordMapper.selectDeviceParameterRecordList(deviceParameterRecord);
    }

    /**
     * 新增【请填写功能名称】
     * 
     * @param deviceParameterRecord 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int insertDeviceParameterRecord(DeviceParameterRecord deviceParameterRecord)
    {
        deviceParameterRecord.setCreateTime(DateUtils.getNowDate());
        return deviceParameterRecordMapper.insertDeviceParameterRecord(deviceParameterRecord);
    }

    /**
     * 修改【请填写功能名称】
     * 
     * @param deviceParameterRecord 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int updateDeviceParameterRecord(DeviceParameterRecord deviceParameterRecord)
    {
        return deviceParameterRecordMapper.updateDeviceParameterRecord(deviceParameterRecord);
    }

    /**
     * 批量删除【请填写功能名称】
     * 
     * @param ids 需要删除的【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteDeviceParameterRecordByIds(Long[] ids)
    {
        return deviceParameterRecordMapper.deleteDeviceParameterRecordByIds(ids);
    }

    /**
     * 删除【请填写功能名称】信息
     * 
     * @param id 【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteDeviceParameterRecordById(Long id)
    {
        return deviceParameterRecordMapper.deleteDeviceParameterRecordById(id);
    }

    @Override
    public List<DeviceParameterRecord> getDeviceParameterRecordListByDate(Date endDate, Date startDate, Long deviceId) {
        if (endDate != null && startDate != null && deviceId != null) {
            return deviceParameterRecordMapper.getDeviceParameterRecordListByDate(endDate, startDate, deviceId);
        }
        return null;
    }

    @Override
    public Integer getDeviceParameterData(Date nowDate) {
        Integer amountOfCollection =deviceParameterRecordMapper.getDeviceParameterData(nowDate);
        if (amountOfCollection != null) {
            return amountOfCollection;
        }
        return 0;
    }
}
